'''
  案例9.20：使用自定义爬虫模块easySpider爬取腾讯疫情全球数据并存储到Excel
'''

#1.导入easySpider类和json模块、pandas、openyxl库
import easySpider
import json
import pandas as pd
from pandas import DataFrame
import openpyxl

#2.实例化easySpider，根据url爬取JSON数据,返回字符串格式的数据
url = 'https://api.inews.qq.com/newsqa/v1/automation/modules/list?modules=FAutoGlobalStatis,FAutoContinentStatis,FAutoGlobalDailyList,FAutoCountryConfirmAdd'
txData = easySpider.Spider(url=url)
resultStr = txData.requests_getHtmlSource()
#3.使用json的loads方法将字符串格式转换为python字典
resutDict=json.loads(resultStr)

#5.取出其中全球每日统计数据显示并写入到Excel文件中
# 先定义7个空列表
dates,confirm,dead,heal,newAddConfirm,deadRate,healRate=[],[],[],[],[],[],[]
# 将对应的数据存入列表中
for item in resutDict['data']['FAutoGlobalDailyList']:
    dates.append(item['date'])
    confirm.append(item['all']['confirm'])
    dead.append(item['all']['dead'])
    heal.append(item['all']['heal'])
    newAddConfirm.append(item['all']['newAddConfirm'])
    deadRate.append(item['all']['deadRate'])
    healRate.append(item['all']['healRate'])
# 构造字典类数据
dataStat = {
    'date':dates,
    'confirm':confirm,
    'dead':dead,
    'heal':heal,
    'newAddConfirm':newAddConfirm,
    'deadRate':deadRate,
    'healRate':healRate
}
#调用pandas的to_excel方法输出到excel文件中
df=pd.DataFrame(dataStat)
df.to_excel('txYQGlobalData.xlsx',index=False)